package com.ccrfid.rmc6.service.device;

import com.ccrfid.rmc6.appconfig.exception.pojo.AppException;
import com.ccrfid.rmc6.entity.device.AlerterEntity;
import com.ccrfid.rmc6.repository.search.SearchCriteria;
import com.ccrfid.rmc6.resource.device.pojo.FloorPos;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;

import java.util.List;

public interface AlerterService {
    //
    Page<AlerterEntity> getAlerterInfoPage(SearchCriteria criteria, Pageable pageable);
    List<AlerterEntity> getAlerterList(SearchCriteria criteria, Sort sort);

    AlerterEntity getAlerterById(Long alerterId);

    //
    AlerterEntity createAlerter(AlerterEntity entity) throws AppException;

    //
    AlerterEntity updateAlerter(Long alerterId, AlerterEntity entity) throws AppException;

    //
    AlerterEntity updatePosition(Long alerterId, FloorPos floorPos) throws AppException;

    Boolean deletePosition(Long alerterId) throws AppException;

    //
    int deleteAlertersInfo(List<Long> idList);

    void switchControl(Long id, Integer status );
}
